Robot

ABSTRACT

A robot is disclosed, wherein the conditions for a work and a sequence of movements to be performed may be set in connection with positions. In addition to the means for setting a position at which a work is performed, the robot is provided with means for setting the conditions for performance of a work at a set position and of a sequence of movements between set positions. The set conditions may be memorized in connection with the set positions so as to be performed as are read out.

FIELD OF THE INVENTION

[0001] The present invention relates to a robot and more particularly relates to a robot which may be operated with easy programming or teaching.

[0002] 1. Prior art

[0003] Generally a robot is operated under control and teaching of a programming language including a robot language and the like wherein the instructions are arranged so as to be carried out progressively in order. The positions for working are dealt with as constants and variables in the program. The movements between the working positions are made under control of the moving instructions provided together with the other instructions in the instruction arrangement.

[0004] However, in case the essential operation of robot is considered to be the movement between the working positions, the program formed on the basis of the conventional instruction arrangement will make it difficult to grasp the relation between the working positions and the movements made between the working positions, and between the working positions and the works at which the works are performed. It has, therefore, been so difficult to form and maintain the program.

[0005] The invention has been provided to eliminate the defects and disadvantages of the prior art. It is, therefore, an object of the invention to provide a robot which may be operated by simple programming or teaching operation for setting working positions, works to be performed at the working positions and the movements between the working positions.

SUMMARY OF THE INVENTION

[0006] For attaining the objects, the invention substantially comprises means for setting a position for carrying out a work, means for setting a work at a set position, control means for carrying out the set work at the set position.

[0007] With the structure as mentioned above, a work may be set in connection with a set position. It is, therefore, apparent that the programming or teaching may be easily made.

[0008] In this connection, a specific function may be predetermined or may be changed to optionally set the working position and the work at the working position.

[0009] Further, means for setting a moving sequence and a moving mode may be provided. Further, the instructions may be provided to change the moving sequence in dependence upon a required condition, and other required instructions may be provided. Further, the positions may be set in combination wherein another work at another position may be performed. Since these are all set in reference to the positions which have been already set, the program may be so easily formed.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a block diagram showing the functions of an embodiment of the invention.

[0011]FIG. 2 is an explanatory view of a data memory 8 shown as one embodiment of the invention by way of example and showing a manner of data to be stored therein.

[0012]FIG. 3 is a flow chart showing the operations of the invention by way of example.

[0013]FIG. 4 is an explanatory view of a data structure of the invention shown by way of example.

[0014]FIG. 5 is an explanatory view of a data structure provided with connection data 31 to be used.

[0015]FIG. 6 is an explanatory view of a data structure provided with moving destination data 41 to be used.

[0016]FIG. 7 is an explanatory view showing the arrangement of data for setting a sequence of movements.

[0017]FIG. 8 is an explanatory view of a data structure showing a mode of movement provided with fixed value data 32 to be used.

[0018]FIG. 9 is an explanatory view of a data structure showing a mode of movement provided with reference data 30 to be used.

[0019]FIG. 10 is an explanatory view of a data structure for jumping a moving destination in dependence upon a condition.

[0020]FIG. 11 is an explanatory view of an operation for jumping a moving destination in dependence upon a condition.

[0021]FIG. 12 is an explanatory view of the embodiment of data structure wherein a control instruction is generated during movement.

[0022]FIG. 13 is a diagrammatic view of a timing to be taken in FIG. 12.

[0023]FIG. 14 is an explanatory view of a data structure provided with reference data 30 for generating a control instruction during movement.

[0024]FIG. 15 is a flow chart showing a general operation of the invention.

[0025]FIG. 16 is an explanatory view of a data structure for performing a pallet operation.

[0026]FIG. 17 is an explanatory view of the pallet operation.

[0027]FIG. 18 is an explanatory view of sub-point data 34.

[0028]FIG. 19 is an explanatory view of sub-point data 34 which is called out.

[0029]FIG. 20 is an explanatory view of sub-point data 34 which is called out prior to movement.

[0030]FIG. 21 is an explanatory view of data structure for amendment of positios.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0031] The invention will be described in detail in reference to the embodiment shown in the attached drawings.

[0032] In FIG. 1, a control device 1 including a microcomputer as a main element is provided to control the operation of a robot. The control device 1 gives instructions to a motor drive control device 11 to drive a stepping motor 12, thereby to operate the robot in various ways. The motor drive control device 11 and the stepping motor 12 are provided in so many number as are required to operate the robot respectively. The stepping motor 12 is operatively connected to a mechanism (not shown) which is operated to do a required work. The stepping motor 12 may be replaced by an actuator of any kind and may be of a closed loop.

[0033] A recording medium 10 may be connected to the control device 1 so that required programs and data may be inputted therefrom. The program of the recording medium 10 is stored in a specific wok/operation program memory 2, an other wok/operation program memory 3 and position setting program memory 4 respectively. The reference numeral 5 is a temporary memory.

[0034] An operating device 7 is provided to be operated to input programs and data into the robot and includes key board, hardware and software mechanisms for teaching.

[0035] A user may operate the operating device 7 to set a position at which a work is done, to set the content of the work and to set a sequence of movements. Further, a mode of movement, a change of moving route in dependence upon a required condition, output of instruction during movement and others may be set in connection with the set positions.

[0036] According to the embodiment, a display 6 is provided in connection with the position setting program memory 4 so that the user may set a position for working at the display 6 by use of the program stored in the position setting program memory 4.

[0037] Further, according to the embodiment, a predetermined work is set as an inclusive application which may be used as it is or may be optionally changed or may be used in mixture with an application which is made by the user.

[0038] Namely, the specific wok/operation program memory 2, has various programs stored therein for operation of a specific work.

[0039] The operator may set a position for working by use of the programs stored in the position setting program memory 4 and may select required operations in reference to selecting information shown in the display 6. According to the embodiment, each position is given a point number and the coordinate of the point number is set.

[0040] As to the operations for a specific work, the program may be set by the operator through the operating device 7 or another input device instead of being selected from the programs stored in the specific wok/operation program memory 2. Further, both of the selection and setting may be performed.

[0041] In the other work/operation program memory 3, a singular or a plurality of working programs for a work or works which are other than the specific work or works. The selection may be performed in reference to the selecting information shown in the display 6.

[0042] Further, in the other work/operation program memory 3, various operation programs for other works to be selected in reference to the selecting information shown in the display 6.

[0043] As to the other works, the program may be set through the operating device 7 or another input device instead of being selected from the programs stored in the other wok/operation program memory 3. Further, both of the selection and setting may be performed.

[0044] As to the operations for the other works, the program may also be set through the operating device 7 or another input device instead of being selected from the programs stored in the other wok/operation program memory 3. Further, both of the selection and setting may be performed..

[0045] The selected or set work and operation are stored as points in a data memory 8.

[0046]FIG. 2 shows the data memory 8 for storing the point data by way of example.

[0047] The point data 20 are provided with point numbers respectively. For each of the point numbers, the position coordinate, the predetermined work A and operation for the work A and the other work and the operation are selected or set and stored. For example, for point number 1, the coordinates of x1, y1, z1, θ1, the work A and the operation a1 for the work are selected, and further the other work C and the operation dare selected.

[0048] For the point number 2, the coordinate x2, y2, z2, θ2 and the operation a2 are set and the other work is not set. In this way, until the point number Pn is reached, the coordinates, the predetermined works and the operations, and the other works and the operations are selected or set by the operator.

[0049] The control device 1 selectively reads out the works and operations from the data memory 8 so that the read out work and operation may be carried out at the coordinate position of the point number in accordance with the programs read out from the specific work/operation program memory 2 and from the other work/operation program memory 3.

[0050] Operation will be described by way of example in case of a coating work in reference to FIG. 3.

[0051] The operator operates the operating device 7 to input (steps S1, S2) a point number and the position coordinates, and further input (step S3) a type of operation for a predetermined work.

[0052] In case the type of operation is a point coating, a period of time is inputted (step S5). In case a line coating is finished, the coating device is turned off (step S6). In case the line coating is started, a speed is inputted (step S7) and the coating device is turned on (step S8).

[0053] In case another work is added (step S9), the work is selected (step S10) and the operation for the work is selected (step S11).

[0054] Thus the operations and works are selected or set for all of the point numbers (steps S12, 13). When this is finished, the works and operations are carried out in accordance with the selected or set contents.

[0055] According to the embodiment, each point is provided with a content of work and a content of operation. However, each point may be additionally provided with various contents of control.

[0056]FIG. 4 shows another embodiment for providing the contents of point data 20.

[0057] Here, the point number 21 for specifying a moving sequence of point and the position coordinate 22 for specifying a moving point are provided together with the work data 40.

[0058] The position coordinate 22 specifies one point, but may be accompanied with the data such as the pallet data or the like for specifying a plurality of positions designating minute movements as will be described in] detail hereinlater.

[0059] The moving destination data 41 is provided to set a destination. With presence of the moving destination data 41, the moving sequence may be specified without setting the point number 21.

[0060] The moving mode data 42 are various data for movements and are provided to set PTP control, straight line interpolation, circular interpolation, moving speed, movement accelerating speed, moving period of time and the like.

[0061] The moving condition data 43 may be set. The data may be provided to make various movements including skipping the next moving destination in dependence upon a condition which may be permitted.

[0062] The during movement output data 44 may be provided to produce output while the robot is operated to move. For example, when the robot is moved a predetermined distance, a signal is produced to move another appliance, or a signal is outputted to stop the robot upon receipt of a signal from a sensor or another appliance.

[0063] The sub-work performing data 45 is instruction data for dealing with errors and for performing a work which may be accompanied with a preparation movement required to be made prior to initiation of the work.

[0064] The position amending data 46 is instruction data for amending an error including a displacement of position.

[0065] The data as mentioned above may be provided in the point data 20 or may be separately provided as reference data 30. Preferably the data for movement may separately provided as connection data 31. Further, predetermined fixed values may be separately provided as fixed value data 32 so as to be optionally referred to.

[0066] A moving sequence:

[0067]FIG. 2 shows the points having numbers attached thereto respectively so that the robot may be operated to move sequentially of the point numbers. The sequence of movements to the points and performances of work will be described in reference to FIGS. 5 to 7.

[0068]FIG. 5 shows an embodiment for enabling the user to set the connection data 31 showing the moving route between the points. The connection data 31 includes present position data 50 for deciding a moving destination and moving destination data 51 so that the connection data 31 may be referred to for each point to recognize the next moving destination.

[0069]FIG. 6 shows an embodiment for setting the moving destination data 41 directly in the point data 20 without using the connection data 31.

[0070]FIG. 7 shows an embodiment wherein the point data 20 are arranged in order of performance for making movement and working in this order.

[0071] As mentioned above, in the embodiments 5 to 7, the user may decide the sequence of performance after setting the points by use of the point data 20. Thus the working program may be efficiently constructed.

[0072]FIGS. 8 and 9 show the examples for setting moving mode data 42 in each point data 20.

[0073] According to the example in FIG. 8, the point data 20 includes the interpolation designating data (PTP drive, straight line interpolation, circular interpolation) to be set and the detailed moving mode data 42 to be set to the individual point data 20, or the fixed values are read out to be used. As the fixed value data 32, the moving mode data 52 is set. In case the individual moving mode data 42 is not set in the point data 20, the data set in the fixed value data 32 may be used.

[0074] According to the example in FIG. 9, in case the moving mode data 42 are individually set, the read-out data 60 is used to read out the reference data 30, thereby to use the moving mode data 42 as set in the reference data 30.

[0075] In case there is no individual designation, the fixed moving mode value 52 may be used.

[0076] As mentioned above, the moving mode data 42 includes designation of interpolation, moving speed, acceleration, period of time by way of examples. However, the moving mode data 42 is not limited to the enumerated one, but may include other data to be set, for example, for an R shaft rotation speed and arch motion.

[0077] Change of moving sequence:

[0078]FIGS. 10 and 11 show an embodiment for setting the moving condition data 43 to change the moving route.

[0079] According to the embodiment, movement is made from point P0 to P1 and then to P2. In this embodiment, the point data 20 including the point P2 further includes the moving condition data 43. In this case, the read-out data 60 is set and the reference data 30 includes the moving condition data 43, wherein an AND condition is provided, for example, a signal A10 is ON and A11 is OFF.

[0080] Prior to movement from P1 to P2, the point data 20 including the point P2 is checked. In case the condition as mentioned above is satisfied as shown in FIG. 11, movement is made to P2, and if not satisfied, movement is made to P3.

[0081] Thus the change of moving route may be made in accordance with a required condition.

[0082] Control during movement:

[0083] Subsequently, a control for movement and stop with output and input of a signal during movement will be described.

[0084] A signal may be produced while the robot is moving. For example, it may be required to start the robot from a position that is 10 mm from initiation of movement and to stop the robot by a signal from a device or sensor.

[0085]FIGS. 12 and 13 show an embodiment for making such control.

[0086] As shown in FIG. 12, the connection data 31 includes the output data in-movement 44.

[0087] The point data 20 including the coordinate (0, 0, 30) has the connection data 31 having control data 53 being set therein, where the signal B1 is turned on at a position that is 10 mm from initiation of movement and is turned off at a position that is 30 mm prior to termination of movement. It is a matter of course that a period of time may be set instead of distance.

[0088]FIG. 13 shows the signal B1 turned on and turned off.

[0089] The point data 20 including the coordinate (0, 100, 80) has the connection data 31 having stop data 54 being set therein, where the signal A10 is turned on to stop the movement.

[0090]FIG. 14 shows an embodiment wherein instead of the connection data 31, the reference data 30 has control data 53 and stop condition data 55 set therein. The point data 20 has read-out data 60 set therein and the reference data 30 has control data 53 and/or stop condition data 55 set therein. The content of operation is the same as in the embodiment of FIG. 12.

[0091] In this way, various signals may be produced to make various operations during movement.

[0092] Operation of the embodiment will be described in reference to FIG. 15.

[0093] The point data is set in the data memory 8 to set position coordinates 22. The point number 21 is set if needed (step S20). Subsequently, a work or operation for the work at the point is set (step S21). The same setting is performed as to all points (step S22).

[0094] Subsequently, a moving sequence is set (step S23). In case the connection data 31 is used, a present position data 50 and a moving destination data 51 are set. The moving destination data 41 may be directly written in without using the connection data 31. In case the arranging sequence of point data is the moving sequence, the point data are arranged in such sequence.

[0095] Subsequently, the moving mode data 42 such as designation of interpolation, speed, acceleration, period of time are set. In case the fixed value is used, the value is set (step S24). Then the performance condition is set (step S25), the output-in-movement is set (step S26) and then the stop condition-in-movement is set (step S27).

[0096] In this case, the step S22 may be located anywhere. In the above mentioned way, all point data are precedingly set. But this is not always the only way. It is possible, for example, to set the step 21 and the subsequent steps simultaneously at the time of setting one point data.

[0097] Pallet data:

[0098] In the movement of robot, there is a repetition of minute movement. For example, in case something is placed on a pallet side by side, it is required to regularly repeat movement from one place to the next with constant displacement of position. It is actually troublesome to do teaching each movement and to set the coordinates, and further this will require so much capacity of memory.

[0099] In order to solve such problem, subordinate position setting data called a pallet may be used.

[0100] Such pallet data may be set for each point as is required.

[0101] In FIG. 16, the point data 20 includes read-out-data 60 which may be used to read out the pallet data 33. The pallet data 33 includes pallet moving data 70.

[0102] The pallet data may include 0 dimension, 1 dimension, 2 dimensions, 3 dimensions. The 0 dimension pallet is a data for designating one point where one or a plurality of works may be repeated.

[0103] The 1 dimension pallet is only for a straight line movement (side by side direction). The 2 dimension pallet is for movement in vertical and lateral directions.

[0104] The 3 dimension pallet is for movement in vertical, lateral and height directions.

[0105] In FIG. 16, the pallet 1 is 1 dimension pallet showing the movement in the side by side direction in four lines. PO is an original point coordinate. PA shows an increment amount in one direction.

[0106] Pallet 2 is 2 dimension pallet showing vertical and lateral movement in four lines and four rows. PO is an original point coordinate. PA shows an increment amount in one direction and PB shows an increment amount in the another direction.

[0107]FIG. 17 diagrammatically shows the operation performed by setting the pallet, wherein upon movement made from point P0 to point P1 where pallet 2 is set, then movement is made from P1-1 to P1-16 as defined by P0 with the increment amount as defined by PA and PB.

[0108] Thus the repetition of minute movement may be easily set for each point.

[0109] Sub-point data:

[0110] In order to perform a work of object, it is required to do a series of operations sequentially. In case errors are produced, it becomes necessary to do exceptional treatment of the errors which is other than the predetermined operations while the robot is moved to a specified position.

[0111] Further, it may be required to do a same work at a different position wherein movement is accompanied.

[0112] Further, it may be required to do a preparatory operation before the work of object is initiated, for example, to fetch a screw prior to initiation of the screwing work of object, or to clean a soldering iron prior to initiation of soldering work of object.

[0113] In order to perform the work accompanied with such incidental operations, it is preferable to set sub-point data to be read out if it is needed.

[0114]FIGS. 18 through 20 show the embodiments for using the sub-point data.

[0115] In FIG. 18, the point data 20 includes point number 21, position coordinate 22 and work data 40. The work data 40 is provided to read out the reference data 30 for a work, and the reference data 30 includes program data for work 2. The program data includes read-out-data 60 for reading out sub-point data 34 when a condition is established. Namely, in case a condition is established that an error is produced, the sub-point data 34 is read out.

[0116] According to the example, the sub-point data 34 is set for two points P1 and P2 where work 4 and work 5 are performed respectively. The work 5 is the read-out data 60, and the content of work 5 is set in the reference data 30.

[0117] In FIG. 19, the point data 20 includes read-out data 60 for reading out the sub-point data 34. Here the sub-point data 34 is set for points P1 through P5 so as to perform work 2 and work 4. In case a same work is repeatedly performed at a different position, it is efficient to provide such a series of sub-point data.

[0118] In FIG. 20, the point data 20 includes preparation data 61 to be used prior to movement to a point. Precisely, the preparation data 61 is set for point 2 and point 3 respectively so as to be referred to before movement is made from point P1 to Point P2 and to read out the sub-point data 34, thereby to make movement from P1 to P2 after the work 2 is performed.

[0119] The preparation data 61 set for point 3 is also treated with in the same way.

[0120] Thus a preparatory operation may be performed by reading out the data set for the point to be used before the movement is made to the point.

[0121] In this connection, the same operation may be obtained by using the read-out data 60 in place of the preparation data 61, which is set for a preceding point. Namely, the read-out data 60 for reading out the sub-point data 34 may be set for P1. But it will be more effective for setting operation sake to set the preparation data 61 for the point P2 which requires the movement.

[0122] Amendment of position:

[0123] The work to be processed may be positionally displaced during processing operation. The processing operation with positional displacement of the work will extremely decrease the processing precision.

[0124] According to the embodiment, the position of work may be detected by use of a camera or a sensor to enable the robot to automatically amend the moving operation, thereby to attain a high processing precision.

[0125] Namely, the point data 20 includes the amendment amount of positional displacement so that the robot may be controlled to move to a position where the amendment amount is added. Thus the robot may move to a correct position.

[0126] In FIG. 21, the point data 20 including the point P1 further includes read-out data 60 so that the amendment amount in the direction Z may be obtained through the reference data. The work data 40 is provided to detect the position of work in the Z direction after waiting 0.5 second for reducing vibration, thereby to calculate the amendment amount from the detected value.

[0127] Further, the point data 20 including the point P2 includes read-out data 60 for reading out position amending data 35. The position amending data 35 includes an amendment amount calculated by the work data 40 of the reference data 30. The amendment amount is applied to the position coordinate 22 of the point P2. Namely, the movement is made to a position (100, 120, 30) where the amendment amount (0, 0, 1.5) is added to the position (100, 120, 30) of P2.

[0128] The amendment in X and Y directions may be made in the same way.

[0129] Thus the displacement of work is successively amended and a positionally high precision of processing operation may be obtained.

[0130] As is described above, according to the robot of the invention, a work may be set in connection with a set position, and the moving sequence and other various conditions may be set, and therefore, programming or teaching may be easily performed.

[0131] The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications are intended to be included within the scope of the following claims. 

What is claimed is:
 7. A robot performing a work at a set position, said robot comprising: means for setting a plurality of positions at which works are performed, means for setting said works to be performed at said set positions, means for setting a sequence of movements between said set positions, control means for performing said works at said set positions in said sequence of movements.
 8. The robot as defined in claim 7, wherein said sequence of movements as being set is memorized as the data for indicating a present moving position and the next moving destination.
 9. The robot as defined in claim 7, wherein said sequence of movements as being set is memorized as the data for indicating the next moving destination in connection with said set positions.
 10. The robot as defined in claim 7, wherein said sequence of movements as being set is memorized as the data arranged in the sequence thereof.
 11. The robot as defined in claim 7, further comprising means for setting a mode of movement between said set positions.
 12. The robot as defined in claim 11, wherein said mode of movement includes at least one or more of interpolation, speed and period of time.
 13. The robot as defined in claim 11, wherein said mode of movement as being set is memorized in connection with said set positions.
 14. The robot as defined in claim 11, wherein predetermined fixed moving mode data may be used in case said mode of movement is not set.
 15. The robot as defined in claim 7, further comprising means for setting a change of sequence of movements in dependence upon a required condition, said sequence of movements being set by said means for setting a sequence of movements.
 16. The robot as defined in claim 15, wherein the data as set for changing said mode of movements is memorized in connection with said set positions.
 17. The robot as defined in claim 15, wherein the data as set for changing said mode of movements is memorized in connection with said set positions and indicates a condition whether or not the movement is made to said set positions, and wherein said control means reads out said set data before movement is made to said set positions to decide whether or not the movement is made to said set positions.
 18. The robot as defined in claim 7, further comprising means for setting a control instruction while movement is made between said set positions.
 19. The robot as defined in claim 18, wherein said control instruction as being set is memorized in connection with said set positions.
 20. The robot as defined in claim 18, wherein said control instruction as being set is outputted on the basis of moving distance.
 21. The robot as defined in claim 18, wherein said control instruction includes a stop of movement while movement is made.
 22. A robot performing a work at a set position, said robot comprising: means for setting a position at which said work is performed, means for setting said work to be performed at said set position, means for setting another position besides said set position, wherein said work is performed at said another position in reference to said set position, control means for performing said work at said another position in reference to said set position.
 23. The robot as defined in claim 22, wherein said set work and said another position as being set are memorized in connection with said set position.
 24. The robot as defined in claim 22, wherein said another position is one of 0 to 3 dimensions.
 25. A robot performing a work at a set position, said robot comprising: means for setting a position at which said work is performed, means for setting said work to be performed at said set position, means for setting another work to be performed at another position in connection with said set position and/or set work, control means for performing said work at said set position and said another work at said another position.
 26. The robot as defined in claim 25, wherein said another work to be performed at said another position is performed at said set position.
 27. The robot as defined in claim 25, wherein said another work to be performed at said another position is performed before movement is made to said set position.
 28. The robot as defined in claim 25, wherein said another work to be performed at said another position is memorized, said another work being read out in connection with said set position.
 29. A robot performing a work at a set position, said robot comprising: means for setting a position at which work is performed, means for setting said work to be performed at said set position, control means for performing said work at said set position, means for setting positional error detection to be performed at said set position, said positional error detection being performed regarding a position between said set position and the position where said work is actually performed. means for setting amendment of position on the basis of the positional error which is detected at said set position.
 30. The robot as defined in claim 29, wherein said amendment of position is made at the next position following the position where said positional error detection is made. 